package pe.com.bbva.carga.dao.impl;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import pe.com.bbva.carga.dao.LogProcesoDAO;
import pe.com.bbva.carga.domain.LogProceso;
import pe.com.bbva.util.Constantes;
import pe.com.stefanini.core.dao.GenericDAOImpl;
import pe.com.stefanini.core.exceptions.BOException;
import pe.com.stefanini.core.exceptions.DAOException;

@Service("logProcesoDAO")
public class LogProcesoDAOImpl extends GenericDAOImpl<LogProceso> implements LogProcesoDAO{
	@Autowired
	public LogProcesoDAOImpl(SessionFactory sessionFactory) {
		super(sessionFactory);
	}
	
	@SuppressWarnings("unchecked")
	public List<LogProceso> findLogProcesoByProceso(Long idProceso, String nomArchivo) throws BOException, DAOException {
		String where = "";
		if(idProceso!= null){
			where = where + (where==""?"":" AND ") + "proceso = " + idProceso;
		}
		if(nomArchivo!=null){
			where = where + (where==""?"":" AND ") + "nombreArchivo = '" +	nomArchivo + "'";
		}
		if(!where.equals("")){
			where = Constantes.WHERE_CLAUSE + where;
		}
		String orders = " order by id desc";
		List<LogProceso> listaLogProcesos = super.executeQuery(LogProceso.class,where,orders);
		return listaLogProcesos;
	}
}